Skip to main content

Debugging 102

How can we introspect data within our data flow? We’ve determined that there’s a problem, but it’s not easy to see the processing looking at a static picture.

Publishing for Debug

The values moving around inside the data flow are know as parameters and each can be,

  • <empty>, no value has ever been assigned
  • Some value

We can use a Publisher to look at the values at various points throughout a data flow. Let’s look at a scenario where we have data coming in, we’re breaking it up with a decommutator, processing parameters in an evaluator, then we can use the values for various purposes.

publisher

Decommutator

We know we’re having an issue downstream from our evaluator, so how can we isolate the problem? First let’s investigate if our decommutator is giving us what we expect; perhaps we’ve got an incorrect setup there. We’ll hang a Publisher off the decommutator like this,

publisher connected

Now we can look at the subscriptions that get created using a tool such as Subscription Table. The table gives us views of the current value or a history of the last <n> values.

naps table

Click Configure Subscriptions… to select and format your values. Choose relevant parameters and verify that the values are coming out as expected. You can pause/resume the display with controls at the top of the window.

Evaluator

If everything looks fine in the first box, we need to move down to the next where we’re changing values with our evaluator. Move the Publisher, or add a new one.

evaluator

Now you will be viewing the values as output by the specific Evaluator. By using a Publisher, you can target specific areas of the data flow to see parameters.

But what if you have packets or frames you need to inspect? These don’t work well viewed as subscriptions, Instead, let’s use a Pull Writer why a pull writer?. The pull writer will allow us to open and read the bytes.

pull writer

After opening Stream Displayer, select the UNC for dfe/0/test_data.

menu stream displayer

unc selector

stream display

Summary

In this article we’ve taken a look at some ways to view data moving inside the data flow.